package com.wocharging.base.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
* <p>
* 财务账单流水表
* </p>
* @author yuzhou
* @since 2024-06-179 15:00:10
*/
@Data
@Accessors(chain = true)
@TableName("wo_bill_record")
@ApiModel(value = "WoBillRecord对象", description = "财务账单流水表")
public class WoBillRecord implements Serializable {

    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("user_id")
    private Long userId;

    @TableField("order_no")
    private String orderNo;

    @ApiModelProperty("运营商Id")
    @TableField("operator_id")
    private Long operatorId;

    @ApiModelProperty("类型 1.订单消费 2.订单退款 3.充值记录 4.提现记录 5.充值押金 5.IC卡充值")
    @TableField("type")
    private Integer type;

    @ApiModelProperty("状态 1.有效 2.无效")
    @TableField("state")
    private Boolean state;

    @ApiModelProperty("支付状态 1成功 2失败")
    @TableField("recharge_state")
    private Boolean rechargeState;

    @ApiModelProperty("支付宝方式 1.微信 2.支付宝 3.手动充值4.余额")
    @TableField("payment_method")
    private Integer paymentMethod;

    @ApiModelProperty("金额")
    @TableField("amount")
    private BigDecimal amount;

    @ApiModelProperty("赠送金额")
    @TableField("gift_amount")
    private BigDecimal giftAmount;

    @ApiModelProperty("记录个人余额")
    @TableField("money_change")
    private BigDecimal moneyChange;

    @ApiModelProperty("金额加减变化")
    @TableField("symbol")
    private String symbol;

    @ApiModelProperty("流水描述")
    @TableField("description")
    private String description;

    @ApiModelProperty("创建人")
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty("修改时间")
    @TableField("update_time")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty("更新人")
    @TableField("update_by")
    private String updateBy;

}
